#include <stdlib.h>
#include <stdio.h>
#include "personnel.h"

/*
   fonction de saisie d'une personne
   in : Personnel *p))
   out :
*/
void saisir_personnel(Personnel *p)
{
	printf("donner le nom de la personne");
	scanf("%s",p->nom);
	printf("donner le prenom de la personne");
	scanf("%s",p->prenom);
	printf("donner l'age de la personne");
	scanf("%d",&(p->age));
	printf("donner le sexe de la personne");
	scanf("%s",p->sexe);
	printf("donner le numéro de la CIN de la personne");
	scanf("%ld",&(p->CIN));
	printf("donner le numéro de matricule de la personne");
	scanf("%ld",&(p->matricule));
	p->infection=0;
}

/*
   fonction d'affichage d'une personne
   in : Personnel p
   out :
*/
void afficher_personnel(Personnel p)
{
	printf("le numéro de matricule %ld appartient à %s %s agé de %d de numero de cin = %ld\n",p.matricule,p.nom,p.prenom,p.age,p.CIN);
	if(p.infection==0){printf(" La personne est saine\n");
	afficher_Capteur(p.Liste_Capteurs->c);}
	else {printf("La personne est infectée \n");
}}


struct cellule * Ajouter_Capteur(struct cellule * Liste_Capteurs,Capteur capt)
{
    struct cellule* c;
        struct cellule* parcour=Liste_Capteurs;
        struct cellule* precedent=NULL;
        while(parcour!=NULL)
        {
        precedent=parcour;
        parcour=parcour->suiv;
        }
    c=(struct cellule*)malloc(sizeof(struct cellule));
    if(c!=NULL)
    {
    c->c=capt;
    c->suiv=NULL;
    precedent->suiv=c;
    }
    return Liste_Capteurs;
}

struct cellule * Chercher_Capteur(struct cellule * Liste_Capteurs,char nom[])
{
        struct cellule* parcour=Liste_Capteurs;
        while(parcour!=NULL && parcour->c.nom!=nom)
        {
            parcour=parcour->suiv;
        }
        if(parcour!=NULL)
        {
            return parcour;
        }
        printf("le patient n'existe pas");
        return Liste_Capteurs;
}

struct cellule * Init_Liste_Capteur()
{
    return NULL;
}
struct cellule * Free_Liste_Capteur(struct cellule * Liste_Capteurs)
{
    struct cellule* parcour=Liste_Capteurs;
        struct cellule* precedent=NULL;
        while(parcour!=NULL)
        {
        precedent=parcour;
        parcour=parcour->suiv;
        free(precedent);
        }
        return NULL;
}
struct cellule * Free_Capteur(struct cellule * Liste_Capteurs,char nom[])
{
        struct cellule* parcour=Liste_Capteurs;
        struct cellule* precedent=NULL;
        while(parcour!=NULL && parcour->c.nom!=nom)
        {
            precedent=parcour;
            parcour=parcour->suiv;
        }
        if(parcour!=NULL)
        {
        precedent->suiv=parcour->suiv;
        free(parcour);
        }
        return Liste_Capteurs;
}

void afficher_liste(struct cellule* Liste_Capteurs)
{
        struct cellule* parcour=Liste_Capteurs;
        while(parcour!=NULL)
        {
        afficher_Capteur(parcour->c);
        parcour=parcour->suiv;
        }
}

int nb_Capteurs(struct cellule *Liste_Capteurs)
{
        int nb=0;
        struct cellule* parcour=Liste_Capteurs;
        while(parcour!=NULL)
        {
        parcour=parcour->suiv;
        nb++;
        }
        return nb;
}



int Capteur_existe(struct cellule * Liste_Capteurs,char nom[])
{
    if (Chercher_Capteur(Liste_Capteurs,nom)!=NULL)
    {return 1;}
    else {return 0;}
}

int E01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"E01")!=0)
    {return 1;}
    else {return 0;}
}
int C01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"C01")!=0)
    {return 1;}
    else {return 0;}
}
int S01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"S01")!=0)
    {return 1;}
    else {return 0;}
}
int L01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"L01")!=0)
    {return 1;}
    else {return 0;}
}
int L02(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"L02")!=0)
    {return 1;}
    else {return 0;}
}
int C02(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"C02")!=0)
    {return 1;}
    else {return 0;}
}
int V01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"V01")!=0)
    {return 1;}
    else {return 0;}
}
int I01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"I01")!=0)
    {return 1;}
    else {return 0;}
}
int D01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"D01")!=0)
    {return 1;}
    else {return 0;}
}
int B01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"B01")!=0)
    {return 1;}
    else {return 0;}
}
int M01(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"M01")!=0)
    {return 1;}
    else {return 0;}
}
int Sout(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"Sout")!=0)
    {return 1;}
    else {return 0;}
}
int Pout(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"Pout")!=0)
    {return 1;}
    else {return 0;}
}
int Ebola(struct cellule * Liste_Capteurs)
{
        if (Capteur_existe(Liste_Capteurs,"Ebola")!=0)
    {return 1;}
    else {return 0;}
}


